-
-
Notifications
You must be signed in to change notification settings - Fork 413
[not intended for merging] experiment: use git diff in blob_changes
#2343
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Conversation
|
This is genius, loving it! If you want, you can also put the That way it might be easier to test in the real world, and we could merge this. |
|
I was hoping that merging behind a flag might be possible and I really like the idea of using |
|
Since the |
|
From what I can tell, the issue is that we pass |
|
Let's try that then. If it doesn't come together, I would also take a look and actually try it myself, so far I was just looking at this from my armchair. |
This is an experiment that’s supposed to help me validate the
gix-blamealgorithm.gix-blamecurrently rests on two foundations: 1. is the algorithm that traverses a file’s history and keeps track of blamed and unblamed hunks. 2. is the algorithm used for diffing subsequent states of a file throughout its history. Basically, (1.) orchestratesgix-blame, using (2.) to do most of the work of following individual lines throughout a file’s history.gix-blamecurrently doesn’t matchgit blamein all cases, but we set out to change that in #2308 as we expect most people to wantgix-blameto matchgit blame’s output.Since the algorithm used for (2.) differs from the one used by
git, it has been somewhat challenging to validate (1.) on a large scale as it is quite hard to tell whether a divergence betweengix-blameandgit blameis due to differences in (1.) or (2.). This PR tries to approach this issue from a different angle, substitutinggix-diffin (2.) by just shelling out togit diff. That way, it hopefully becomes much easier to comparegix-blameusinggix-diffvs.gix-blameusinggit diffvs.git blameon the scale of entire repositories.I’m opening this PR mostly to get CI feedback and to make this work visible. We probably can close it once I’m done with it.